/**TODO <这里是文件的描述>
 * 
 * @Project socialorg
 * @FileName Base64Util.java
 * @Author Leon
 *
 * @Date 2016年6月16日 下午7:54:26
 * @Note <这里是文件备注>
 */
package com.swn.common.util;

import java.io.UnsupportedEncodingException;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

/**Base64Util工具类
 * 
 * @Date 2016年6月16日  下午7:54:26
 * @Note <这里是该类的使用注意事项>
 */
public class Base64Util {
	/**  
	    * 编码  
	    * @param bstr  
	    * @return String  
	    */    
	   public static String encode(byte[] bstr){    
	   return new sun.misc.BASE64Encoder().encode(bstr);    
	   }    
	   
	   /**  
	    * 解码  
	    * @param str  
	    * @return string  
	    */    
	   public static byte[] decode(String str){    
	   byte[] bt = null;    
	   try {    
	       sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder();    
	       bt = decoder.decodeBuffer( str );    
	   } catch (Exception e) {    
	       e.printStackTrace();    
	   }    
	   
	       return bt;    
	   }    
	   
	   
	// 加密  
	    public static String getBase64(String str) {  
	        byte[] b = null;  
	        String s = null;  
	        try {  
	            b = str.getBytes("utf-8");  
	        } catch (UnsupportedEncodingException e) {  
	            e.printStackTrace();  
	        }  
	        if (b != null) {  
	            s = new BASE64Encoder().encode(b);  
	        }  
	        return s;  
	    }  
	  
	    // 解密  
	    public static String getFromBase64(String s) {  
	        byte[] b = null;  
	        String result = null;  
	        if (s != null) {  
	            BASE64Decoder decoder = new BASE64Decoder();  
	            try {  
	                b = decoder.decodeBuffer(s);  
	                result = new String(b, "utf-8");  
	            } catch (Exception e) {  
	                e.printStackTrace();  
	            }  
	        }  
	        return result;  
	    }  
	    
	    public static void main(String[] args) {
			String str = "我";  //5piv
			System.out.println(getBase64(str));
			System.out.println(getFromBase64(getBase64(str)));
		}
}
